home *** CD-ROM | disk | FTP | other *** search
/ Clickx 115 / Clickx 115.iso / software / tools / windows / tails-i386-0.16.iso / live / filesystem.squashfs / usr / share / doc / git / RelNotes-1.5.2.txt < prev    next >
Encoding:
Text File  |  2011-09-22  |  7.2 KB  |  198 lines

  1. GIT v1.5.2 Release Notes
  2. ========================
  3.  
  4. Updates since v1.5.1
  5. --------------------
  6.  
  7. * Plumbing level superproject support.
  8.  
  9.   You can include a subdirectory that has an independent git
  10.   repository in your index and tree objects of your project
  11.   ("superproject").  This plumbing (i.e. "core") level
  12.   superproject support explicitly excludes recursive behaviour.
  13.  
  14.   The "subproject" entries in the index and trees of a superproject
  15.   are incompatible with older versions of git.  Experimenting with
  16.   the plumbing level support is encouraged, but be warned that
  17.   unless everybody in your project updates to this release or
  18.   later, using this feature would make your project
  19.   inaccessible by people with older versions of git.
  20.  
  21. * Plumbing level gitattributes support.
  22.  
  23.   The gitattributes mechanism allows you to add 'attributes' to
  24.   paths in your project, and affect the way certain git
  25.   operations work.  Currently you can influence if a path is
  26.   considered a binary or text (the former would be treated by
  27.   'git diff' not to produce textual output; the latter can go
  28.   through the line endings conversion process in repositories
  29.   with core.autocrlf set), expand and unexpand '$Id$' keyword
  30.   with blob object name, specify a custom 3-way merge driver,
  31.   and specify a custom diff driver.  You can also apply
  32.   arbitrary filter to contents on check-in/check-out codepath
  33.   but this feature is an extremely sharp-edged razor and needs
  34.   to be handled with caution (do not use it unless you
  35.   understand the earlier mailing list discussion on keyword
  36.   expansion).  These conversions apply when checking files in
  37.   or out, and exporting via git-archive.
  38.  
  39. * The packfile format now optionally supports 64-bit index.
  40.  
  41.   This release supports the "version 2" format of the .idx
  42.   file.  This is automatically enabled when a huge packfile
  43.   needs more than 32-bit to express offsets of objects in the
  44.   pack.
  45.  
  46. * Comes with an updated git-gui 0.7.1
  47.  
  48. * Updated gitweb:
  49.  
  50.   - can show combined diff for merges;
  51.   - uses font size of user's preference, not hardcoded in pixels;
  52.   - can now 'grep';
  53.  
  54. * New commands and options.
  55.  
  56.   - "git bisect start" can optionally take a single bad commit and
  57.     zero or more good commits on the command line.
  58.  
  59.   - "git shortlog" can optionally be told to wrap its output.
  60.  
  61.   - "subtree" merge strategy allows another project to be merged in as
  62.     your subdirectory.
  63.  
  64.   - "git format-patch" learned a new --subject-prefix=<string>
  65.     option, to override the built-in "[PATCH]".
  66.  
  67.   - "git add -u" is a quick way to do the first stage of "git
  68.     commit -a" (i.e. update the index to match the working
  69.     tree); it obviously does not make a commit.
  70.  
  71.   - "git clean" honors a new configuration, "clean.requireforce".  When
  72.     set to true, this makes "git clean" a no-op, preventing you
  73.     from losing files by typing "git clean" when you meant to
  74.     say "make clean".  You can still say "git clean -f" to
  75.     override this.
  76.  
  77.   - "git log" family of commands learned --date={local,relative,default}
  78.     option.  --date=relative is synonym to the --relative-date.
  79.     --date=local gives the timestamp in local timezone.
  80.  
  81. * Updated behavior of existing commands.
  82.  
  83.   - When $GIT_COMMITTER_EMAIL or $GIT_AUTHOR_EMAIL is not set
  84.     but $EMAIL is set, the latter is used as a substitute.
  85.  
  86.   - "git diff --stat" shows size of preimage and postimage blobs
  87.     for binary contents.  Earlier it only said "Bin".
  88.  
  89.   - "git lost-found" shows stuff that are unreachable except
  90.     from reflogs.
  91.  
  92.   - "git checkout branch^0" now detaches HEAD at the tip commit
  93.     on the named branch, instead of just switching to the
  94.     branch (use "git checkout branch" to switch to the branch,
  95.     as before).
  96.  
  97.   - "git bisect next" can be used after giving only a bad commit
  98.     without giving a good one (this starts bisection half-way to
  99.     the root commit).  We used to refuse to operate without a
  100.     good and a bad commit.
  101.  
  102.   - "git push", when pushing into more than one repository, does
  103.     not stop at the first error.
  104.  
  105.   - "git archive" does not insist you to give --format parameter
  106.     anymore; it defaults to "tar".
  107.  
  108.   - "git cvsserver" can use backends other than sqlite.
  109.  
  110.   - "gitview" (in contrib/ section) learned to better support
  111.     "git-annotate".
  112.  
  113.   - "git diff $commit1:$path2 $commit2:$path2" can now report
  114.     mode changes between the two blobs.
  115.  
  116.   - Local "git fetch" from a repository whose object store is
  117.     one of the alternates (e.g. fetching from the origin in a
  118.     repository created with "git clone -l -s") avoids
  119.     downloading objects unnecessarily.
  120.  
  121.   - "git blame" uses .mailmap to canonicalize the author name
  122.     just like "git shortlog" does.
  123.  
  124.   - "git pack-objects" pays attention to pack.depth
  125.     configuration variable.
  126.  
  127.   - "git cherry-pick" and "git revert" does not use .msg file in
  128.     the working tree to prepare commit message; instead it uses
  129.     $GIT_DIR/MERGE_MSG as other commands do.
  130.  
  131. * Builds
  132.  
  133.   - git-p4import has never been installed; now there is an
  134.     installation option to do so.
  135.  
  136.   - gitk and git-gui can be configured out.
  137.  
  138.   - Generated documentation pages automatically get version
  139.     information from GIT_VERSION.
  140.  
  141.   - Parallel build with "make -j" descending into subdirectory
  142.     was fixed.
  143.  
  144. * Performance Tweaks
  145.  
  146.   - Optimized "git-rev-list --bisect" (hence "git-bisect").
  147.  
  148.   - Optimized "git-add $path" in a large directory, most of
  149.     whose contents are ignored.
  150.  
  151.   - Optimized "git-diff-tree" for reduced memory footprint.
  152.  
  153.   - The recursive merge strategy updated a worktree file that
  154.     was changed identically in two branches, when one of them
  155.     renamed it.  We do not do that when there is no rename, so
  156.     match that behaviour.  This avoids excessive rebuilds.
  157.  
  158.   - The default pack depth has been increased to 50, as the
  159.     recent addition of delta_base_cache makes deeper delta chains
  160.     much less expensive to access.  Depending on the project, it was
  161.     reported that this reduces the resulting pack file by 10%
  162.     or so.
  163.  
  164.  
  165. Fixes since v1.5.1
  166. ------------------
  167.  
  168. All of the fixes in v1.5.1 maintenance series are included in
  169. this release, unless otherwise noted.
  170.  
  171. * Bugfixes
  172.  
  173.   - Switching branches with "git checkout" refused to work when
  174.     a path changes from a file to a directory between the
  175.     current branch and the new branch, in order not to lose
  176.     possible local changes in the directory that is being turned
  177.     into a file with the switch.  We now allow such a branch
  178.     switch after making sure that there is no locally modified
  179.     file nor un-ignored file in the directory.  This has not
  180.     been backported to 1.5.1.x series, as it is rather an
  181.     intrusive change.
  182.  
  183.   - Merging branches that have a file in one and a directory in
  184.     another at the same path used to get quite confused.  We
  185.     handle such a case a bit more carefully, even though that is
  186.     still left as a conflict for the user to sort out.  This
  187.     will not be backported to 1.5.1.x series, as it is rather an
  188.     intrusive change.
  189.  
  190.   - git-fetch had trouble with a remote with insanely large number
  191.     of refs.
  192.  
  193.   - "git clean -d -X" now does not remove non-excluded directories.
  194.  
  195.   - rebasing (without -m) a series that changes a symlink to a directory
  196.     in the middle of a path confused git-apply greatly and refused to
  197.     operate.
  198.